#函数基础
#函数、函数返回值、函数参数、函数嵌套

#函数
#函数：把具有独立功能的代码块组成以一个个小模块
#作用：提高写代码的效率，实现代码复用---流程标准化
'''
函数定义格式：
def 函数名（）：
    函数体
'''   
#函数名需要符合标识符的命名规范(必须是字符、下划线、数字组成，不能以数字开头，不能与关键字重名)
#规范写法（惯例）：函数名一律小写


#函数的说明文档查看
'''
1.help()

2.__doc__
'''
"""
import random
print(random.__doc__)
"""

#函数的调用
def sing():
    print('唱歌') #定义函数
sing()            #调用函数
print('\n')

#调用格式：函数名()

#函数、方法、关键字的区别：
'''
函数：封装有独立功能，可以被调用，函数名()
方法：在类中的说法，通过对象来进行，对象.方法
关键字keywords
'''



#函数返回值

#返回值：函数返回值，是返回给函数的调用者。
#返回结果不能直接输出到控制台，需要用print()才能打印出来。

#例1.
def funa():
    a = 10
    return a
funa()
print(funa())
print('\n')


#例2.返回多个值
'''
返回值本质上只能返回一个值，这个值可以是一个元组、列表、字典等（作为一个整体，当成一个元素来返回）
如果返回多个值，是以元组的类型返回
'''
def fun():
    return 1,2,3
num = fun()
print(num)
print(type(num))
print('\n')

#例3
def funa1():
    a = 5
    b = [1,2]
    c = {'school':'sixstar'}
    return a,b,c
fn = funa1()
print(fn)
print(type(fn))
print('\n')

#一个函数有多个return的情况，函数体内只会执行第一个return，后面的return没有作用。

#一个函数里面没有return的情况，默认return None,即返回为None(空)。
